package com.panda.mall.common.mallWares.entity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.panda.mall.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 商品三级分类表
* mall_goods_category
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("mall_goods_category")
public class MallGoodsCategory extends BaseEntity implements Serializable {

    /**
    * 分类id
    */
    @NotNull(message="[分类id]不能为空")
    @ApiModelProperty("分类id")
    private Long id;
    /**
    * 分类名
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("分类名")
    @Length(max= 40,message="编码长度不能超过40")
    private String categoryName;
    /**
    * 父类id
    */
    @ApiModelProperty("父类id")
    private Long parentId;
    /**
    * 分类等级
    */
    @ApiModelProperty("分类等级")
    private Integer categoryLevel;
    /**
    * 分类图标
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("分类图标")
    @Length(max= 255,message="编码长度不能超过255")
    private String categoryIcon;
    /**
    * 排序号
    */
    @ApiModelProperty("排序号")
    private Integer sort;
    /**
    * 计量单位
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("计量单位")
    @Length(max= 20,message="编码长度不能超过20")
    private String unit;
    /**
    * 商品数量
    */
    @ApiModelProperty("商品数量")
    private Integer count;

    @ApiModelProperty("es索引")
    @TableField(exist = false)
    private String index;

    @ApiModelProperty("es数据id")
    @TableField(exist = false)
    private String eid;

    @ApiModelProperty("商品子菜单")
    @TableField(exist = false)
    private List<MallGoodsCategory> children;
}
